pp108 : Modeling Business Rules

Modeling Business Rules

This topic describes the various ways of modeling business rules.


Rules define the way a business object reacts to a situation, and eventually charts the course of a set of actions. For example, business rules determine the logic behind the premium calculations by the insurance companies, risk management by banks, portfolio management by finance companies, pricing levels by retailers, and so on.
Process Platform provides a rich set of features for modeling and executing rules. The runtime execution of rules handles the evaluation and execution of conditions and actions based on input data XML. The expressions for conditions and actions are defined based on XPath 1.0 compliance. The Rule Engine evaluates rules in two phases; it evaluates constraint rules before the objects are committed to the database and the Business rules are used to validate objects after a transaction is committed to the database. It provides a set of built-in data types to facilitate modeling of complex rules and also enables you to invoke Java program constructs from rule expressions.

Rule Modeler - Process Platform provides a simple-to-use and highly intuitive rule modeler, to facilitate the business user create the rules driven by the business requirements.

Decision Table - Decision Tables allow the user to define a set of related rules with conditions and actions which will be evaluated based on the given data set as input. A decision table can be built based on a business object and each decision table can contain one or more rules acting on that business object. When you have a large number of rules to implement and are working with structurally similar rules, decision tables are very efficient in handling them. There are two ways of using a decision table. One is to generate a Web Service and reuse it. The other way is to directly use the Decision table in a business process as an activity. When a Decision table is used directly in a Business process model, it allows the users to configure monitoring options on the decision table activity to get the graphical representation of decision table execution during runtime.

Templates - When there is a need to use a complex condition in a decision table, you can create a Condition Template and use it. For example, if you have used a particular condition in a rule, and want to use the same condition in another rule, you need not build that condition from scratch. You can create a condition template and define the variables that are required. Similarly, to reuse an action in other rules, you can create an Action Template and use it.

Rule Groups - You can organize and group functionally similar rules for better management and ease of retrieval in a rule group. Each rule group has a priority associated with it thus enabling you to prioritize the execution of rules in that rule group. All rules and decision tables should be linked to a rule group.